#目标:依赖项
# 定义编译器
CXX = g++

# 定义编译选项
CXXFLAGS = -g -Iinclude/

# 定义链接选项
LDFLAGS =

# 定义目标文件名
TARGET = searchEngine

# 定义源文件搜索路径
VPATH = src/keyRecommander/

# 定义源文件
SRC = $(wildcard $(VPATH)*.cpp)

# 定义对象文件路径和文件名（放在bin目录下）
OBJ_DIR = bin/
OBJ = $(addprefix $(OBJ_DIR), $(SRC:.cpp=.o))

# 默认目标
all: $(TARGET)

# 链接目标
$(TARGET): $(OBJ)
	$(CXX) $(LDFLAGS) $(OBJ) -o $(TARGET)

# 编译源文件
$(OBJ_DIR)%.o: $(VPATH)%.cpp | $(OBJ_DIR)
	$(CXX) $(CXXFLAGS) -c $< -o $@

# 清理编译生成的文件
clean:
	rm -f $(OBJ) $(TARGET)

# 防止 make 执行时自动生成的规则
.PHONY: all clean